﻿using System.Collections.Generic;
using System.Linq;

namespace RBOSS.Business.CustomerModule
{
    public interface ICustomerSubSystem
    {
        void DeleteCustomer(int id);
        void UpdateCustomer();
        bool CheckEmailAvailability(string emailAddress);

        void AddCustomer(string userEmail, string password, string firstName, string lastName, string phoneNo,
            string city, string provience, string country, string postalCode);

        CustomerItem GetCustomerInformation(string emailAddress);

        IList<CustomerOrderDetails> GetCustomerOrderDetails(int orderId);
        IList<CustomerOrder> GetCustomerOrders(int userId);

        void RegisterCustomerInSession(string email);
        ICustomer GetCustomerFromSession();

        List<ProductCategory> GetAllCategories();
    }
}
